package com.gimi.cloud.bbp.merchantZone.service.store;

import com.gimi.cloud.bbp.dto.store.MerchantRangeDTO;
import com.gimi.cloud.bbp.dto.store.StoreDTO;

import java.util.List;
import java.util.Map;

/**
 * Created by shazhiwei on 2017/12/20.
 */
public interface StoreService {

    /**
     * 添加店铺
     * @param storeDTO
     * @return
     */
    Boolean addStore(StoreDTO storeDTO);

    /**
     * 条件查询店铺
     * @param storeDTO
     * @return
     */
    Map<String,Object> getStoreListByCondition(StoreDTO storeDTO);

    /**
     * 商户店铺列表
     * @param storeDTO
     * @return
     */
    List<StoreDTO> allStoreList(StoreDTO storeDTO);

    /**
     * 条件获取单个店铺
     * @param storeDTO
     * @return
     */
    StoreDTO getStoreSingleByCondition(StoreDTO storeDTO);

    /**
     * 审核店铺
     * @param storeDTO
     * @return
     */
    Boolean storeAuth(StoreDTO storeDTO);

    /**
     * 修改店铺
     * @param storeDTO
     * @return
     */
    Boolean updateStore(StoreDTO storeDTO);

    /**
     * 删除店铺
     * @param storeDTO
     * @return
     */
    Boolean deleteStore(StoreDTO storeDTO);

    /**
     * 添加店铺经营范围
     * @param dto
     * @return
     */
    Boolean addStoreManchant(MerchantRangeDTO dto);

    /**
     * 更新店铺经营范围
     * @param dto
     * @return
     */
    Boolean updateStoreManchant(MerchantRangeDTO dto);

    /**
     * 获取店铺经营范围
     * @param dto
     * @return
     */
    List<MerchantRangeDTO> getMerchantRangeListByCondition(MerchantRangeDTO dto);

    /**
     * 获取店铺可添加的经营范围
     * @param dto
     * @return
     */
    List<Map<String,Object>> getProCategoreListByCondition(MerchantRangeDTO dto);

    /**
     * 删除店铺经营范围
     * @param dto
     * @return
     */
    Boolean deleteMerchantRange(MerchantRangeDTO dto);

    /**
     * 通过店铺id删除经营范围
     * @param storeId
     * @return
     */
    int deleteMerchantRangeByStoreId(String storeId);
}
